package com.surfin.safe.keyboard;

/**
 * JNI方法
 */
public class JNIMethod {

    /**
     * 生成加密密钥(安全键盘创建时生成随机密钥)
     */
    public static native void generateSecretKey();

    /**
     * 添加输入的键
     *
     * @param id   EditText id
     * @param text 内容
     */
    public static native void addKey(String id, String text);

    /**
     * 删除键
     *
     * @param id EditText id
     */
    public static native void deleteKey(String id);

    /**
     * 根据EditText id获取输入的内容
     *
     * @param id EditText id
     * @return 输入内容对应的字节数组
     */
    public static native String getKey(String id);

    public static native byte[] encryption(byte[] bytes);

    public static native byte[] cryption(byte[] bytes);

    /**
     * 清除EditText输入的内容(EditText内容为空时执行)
     *
     * @param id EditText id
     */
    public static native void clearKey(String id);

    /**
     * 释放EditText的内容(页面退出时执行)
     *
     * @param id EditText id
     */
    public static native void releaseKey(String id);

    static {
        System.loadLibrary("crypto");
        System.loadLibrary("safe_keyboard_lib");
    }
}
